fix(#1491) Cloning item drafts before saving in exit app flow #1617
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description (longer than the correction)
I replayed exactly the scenario described by the issue author in this comment and tracked the issue to a mutation that happens during the
saveMultipleRequests
action, throwing an error:As explained here this should originate if the object being mutated explicitly has a protection against adding new properties. I never encountered this before, but maybe it's something by design of react-redux?
Inspecting the objects during debug it seems to be the case:
This problem doesn't happen when closing just the tab, which uses the
saveRequest
action instead. There the collection and the tab are cloned before enteringtransformRequestToSaveToFilesystem
function, which avoids any mutation protections.Applying the same for
saveMultipleRequests
solved the issue.Contribution Checklist:
Closes #1491
Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.